Modern web applications can take many forms: an informational Web site, an intranet, an extranet, an e-commerce Web site, an exchange, a search engine, a transaction engine, or an e-business. All these applications are linked to computer systems that contain weaknesses that can pose risks to a company. Weaknesses may exist in system architecture, system configuration, application design, implementation configuration, and operations. The risks include the possibility of incorrect calculations, damaged hardware and software, data accessed by unauthorized users, data theft or loss, misuse of the system, and disrupted business operations.
A hacker can employ numerous techniques to exploit a Web application. Some examples include parameter manipulation, forced parameters, cookie tampering, common file queries, use of known exploits, directory enumeration, Web server testing, link traversal, path truncation, session hijacking, hidden Web paths, Java applet reverse engineering, backup checking, extension checking, parameter passing, cross-site scripting, and SQL injection.
Web application assessment tools exist that provide a detailed analysis of Web application vulnerabilities.
A known web application assessment tool uses software agents to conduct a web application assessment. The software agents are comprised of sophisticated sets of heuristics that enable the tool to apply intelligent application-level vulnerability checks and to accurately identify security issues. The known tool begins its operation with a crawl phase using software agents to dynamically catalog all areas of the site. As these agents complete their assessment, findings are reported back to a security engine to analyze the results. The tool then launches other software agents during an audit phase that evaluate the gathered information and apply attack algorithms to determine the presence and severity of vulnerabilities. Finally, the tool then correlates the results and presents them in an easy to understand format.
This is potentially a very time consuming process for a large web site that may comprise hundreds of thousands of pages. It is therefore important to correctly configure the tool in order to optimize its operation.